home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / pretty7.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  40.5 KB  |  1,627 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "pretty.h"
  10. void rT83fatal_error(/*C*/T0* a1){
  11. rT43fatal_error((T43*)oRBC27eh,a1);
  12. }
  13. int rT83count(T83 *C){
  14. int R=0;
  15. R=((T84*)(C)->_list)->_upper;
  16. return R;
  17. }
  18. void rT83pretty_print(T83 *C){
  19. int _i=0;
  20. rT259put_character((T259*)oRBC27fmt,'\133');
  21. rT259level_incr((T259*)oRBC27fmt);
  22. _i=1;
  23. while (!((_i)>(((T84*)(C)->_list)->_upper))) {
  24. rT82pretty_print((T82*)rT84item((T84*)(C)->_list,_i));
  25. _i=(_i)+(1);
  26. /*IF*/if ((_i)<=(((T84*)(C)->_list)->_upper)) {
  27. rT259put_string((T259*)oRBC27fmt,(T0 *)ms464);
  28. }
  29. /*FI*/}
  30. rT259put_character((T259*)oRBC27fmt,'\135');
  31. rT259level_decr((T259*)oRBC27fmt);
  32. }
  33. T0 * rT83item(T83 *C,int a1){
  34. T0 * R=NULL;
  35. R=rT84item((T84*)(C)->_list,a1);
  36. return R;
  37. }
  38. int rT83index_of(T83 *C,T0 * a1){
  39. int R=0;
  40. T0* _to_string=NULL;
  41. _to_string=((T46*)a1)->_to_string;
  42. R=((T84*)(C)->_list)->_upper;
  43. while (!(((R)==(0))||(((T0 *)_to_string)==((T0 *)((T46*)((T82*)rT84item((T84*)(C)->_list,R))->_name)->_to_string)))) {
  44. R=(R)-(1);
  45. }
  46. return R;
  47. }
  48. void rT83copy(T83 *C,T0 * a1){
  49. /*IF*//*AF*//*AE*/
  50. memcpy(C,a1,s[C->id]);
  51. /*FI*/}
  52. void rT83make(T83 *C,T0 * a1,T0* a2){
  53. T0 * _fga=NULL;
  54. int _i=0;
  55. int _rank=0;
  56. C->_start_position=a1;
  57. C->_list=a2;
  58. _i=((T84*)a2)->_upper;
  59. while (!((_i)==(0))) {
  60. _fga=rT84item((T84*)a2,_i);
  61. _rank=rT83index_of(C,((T82*)_fga)->_name);
  62. /*IF*/if ((_rank)!=(_i)) {
  63. /*UT*/(T43*)oRBC27eh;
  64. rT43add_position(rT82start_position((T82*)rT84item((T84*)a2,_rank)));
  65. /*UT*/(T43*)oRBC27eh;
  66. rT43add_position(rT82start_position((T82*)_fga));
  67. rT83fatal_error((T0 *)ms219);
  68. }
  69. /*FI*/_i=(_i)-(1);
  70. }
  71. }
  72. int rT82constrained(T82 *C){
  73. int R=0;
  74. R=((int)(C)->_constraint);
  75. return R;
  76. }
  77. T0 * rT82start_position(T82 *C){
  78. T0 * R=NULL;
  79. R=((T46*)(C)->_name)->_start_position;
  80. return R;
  81. }
  82. void rT82pretty_print(T82 *C){
  83. rT46pretty_print((T46*)(C)->_name);
  84. /*IF*/if (rT82constrained(C)) {
  85. rT259level_incr((T259*)oRBC27fmt);
  86. rT259put_string((T259*)oRBC27fmt,(T0 *)ms463);
  87. XrT56pretty_print((C)->_constraint);
  88. rT259level_decr((T259*)oRBC27fmt);
  89. }
  90. /*FI*/}
  91. void rT82copy(T82 *C,T0 * a1){
  92. /*IF*//*AF*//*AE*/
  93. memcpy(C,a1,s[C->id]);
  94. /*FI*/}
  95. void rT82make(T82 *C,T0 * a1,T0 * a2){
  96. C->_name=a1;
  97. C->_constraint=a2;
  98. }
  99. void rT65bracketed_print(T65 *C){
  100. rT259put_character((T259*)oRBC27fmt,'\50');
  101. rT65pretty_print(C);
  102. rT259put_character((T259*)oRBC27fmt,'\51');
  103. }
  104. int rT65same_as(T65 *C,T0 * a1){
  105. int R=0;
  106. R=rT7is_equal((T7*)rT65to_key(C),XrT47to_key(a1));
  107. return R;
  108. }
  109. T0 * rT65add_comment(T65 *C,T0 * a1){
  110. T0 * R=NULL;
  111. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  112. R=(T0 *)C;
  113. }
  114. else {
  115. {T218 *n=((T218*)new(218));
  116. rT218make(n,(T0 *)C,a1);
  117. R=(T0 *)n;}}
  118. /*FI*/return R;
  119. }
  120. void rT65print_as_target(T65 *C){
  121. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  122. rT259put_character((T259*)oRBC27fmt,'\56');
  123. }
  124. void rT65pretty_print(T65 *C){
  125. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  126. }
  127. T0* rT65to_key(T65 *C){
  128. T0* R=NULL;
  129. R=(C)->_to_string;
  130. return R;
  131. }
  132. void rT65copy(T65 *C,T0 * a1){
  133. /*IF*//*AF*//*AE*/
  134. memcpy(C,a1,s[C->id]);
  135. /*FI*/}
  136. void rT65make(T65 *C,T0* a1,T0 * a2){
  137. C->_to_string=a1;
  138. C->_start_position=a2;
  139. }
  140. int rT126count(T126 *C){
  141. int R=0;
  142. R=((T127*)(C)->_list)->_upper;
  143. return R;
  144. }
  145. void rT126error(/*C*/T0 * a1,T0* a2){
  146. /*UT*/(T43*)oRBC27eh;
  147. rT43add_position(a1);
  148. rT43error((T43*)oRBC27eh,a2);
  149. }
  150. void rT126pretty_print(T126 *C){
  151. int _icount=0;
  152. int _i=0;
  153. _i=1;
  154. while (!((_i)>(rT126count(C)))) {
  155. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  156. /*)*/XrT65pretty_print(rT127item((T127*)(C)->_list,_i));
  157. _i=(_i)+(1);
  158. _icount=(_icount)+(1);
  159. /*IF*/if ((_i)<=(rT126count(C))) {
  160. rT259put_string((T259*)oRBC27fmt,(T0 *)ms480);
  161. /*IF*/if ((_icount)>(4)) {
  162. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  163. /*)*/rT259indent((T259*)oRBC27fmt);
  164. _icount=0;
  165. }
  166. /*FI*/}
  167. /*FI*/}
  168. }
  169. T0 * rT126item(T126 *C,int a1){
  170. T0 * R=NULL;
  171. R=rT127item((T127*)(C)->_list,a1);
  172. return R;
  173. }
  174. int rT126index_of(T126 *C,T0 * a1){
  175. int R=0;
  176. T0* _fn_key=NULL;
  177. _fn_key=XrT65to_key(a1);
  178. R=1;
  179. while (!(((R)>(rT126count(C)))||(rT7is_equal((T7*)_fn_key,XrT65to_key(rT126item(C,R)))))) {
  180. R=(R)+(1);
  181. }
  182. return R;
  183. }
  184. void rT126copy(T126 *C,T0 * a1){
  185. /*IF*//*AF*//*AE*/
  186. memcpy(C,a1,s[C->id]);
  187. /*FI*/}
  188. void rT126make(T126 *C,T0* a1){
  189. int _i2=0;
  190. int _i=0;
  191. C->_list=a1;
  192. _i=((T127*)a1)->_upper;
  193. while (!((_i)==(0))) {
  194. _i2=rT126index_of(C,rT127item((T127*)a1,_i));
  195. /*IF*/if ((_i2)!=(_i)) {
  196. /*UT*/(T43*)oRBC27eh;
  197. rT43add_position(XrT65start_position(rT127item((T127*)a1,_i2)));
  198. rT126error(XrT65start_position(rT127item((T127*)a1,_i)),(T0 *)ms239);
  199. }
  200. /*FI*/_i=(_i)-(1);
  201. }
  202. }
  203. void rT133pretty_print(T133 *C){
  204. int _i=0;
  205. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  206. /*)*//*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  207. rT259skip((T259*)oRBC27fmt,1);
  208. }
  209. else {
  210. rT259indent((T259*)oRBC27fmt);
  211. }
  212. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms486);
  213. rT121pretty_print((T121*)(C)->_clients);
  214. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  215. /*)*//*IF*/if (((int)(C)->_comment)) {
  216. /*IF*/if (((T259*)oRBC27fmt)->_zen_mode) {
  217. }
  218.  else if ((((T259*)oRBC27fmt)->_column)>(15)) {
  219. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  220. /*)*/rT259indent((T259*)oRBC27fmt);
  221. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  222. /*)*/}
  223. /*FI*/rT57pretty_print((T57*)(C)->_comment);
  224. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  225. rT259skip((T259*)oRBC27fmt,1);
  226. }
  227. /*FI*/}
  228. /*FI*//*IF*/if (((int)(C)->_list)) {
  229. _i=1;
  230. while (!((_i)>(((T61*)(C)->_list)->_upper))) {
  231. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  232. /*)*/rT259indent((T259*)oRBC27fmt);
  233. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  234. rT259skip((T259*)oRBC27fmt,1);
  235. }
  236. /*FI*/XrT60pretty_print(rT61item((T61*)(C)->_list,_i));
  237. _i=(_i)+(1);
  238. }
  239. }
  240. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  241. /*)*//*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  242. rT259skip((T259*)oRBC27fmt,1);
  243. }
  244. /*FI*/}
  245. void rT133add_into(T133 *C,T0 * a1){
  246. T0 * _f=NULL;
  247. int _i=0;
  248. /*IF*/if ((((int)(C)->_list))&&(!(rT61empty((T61*)(C)->_list)))) {
  249. _i=1;
  250. while (!((_i)>(((T61*)(C)->_list)->_upper))) {
  251. _f=rT61item((T61*)(C)->_list,_i);
  252. XrT60set_clients(_f,(C)->_clients);
  253. XrT60add_into(_f,a1);
  254. _i=(_i)+(1);
  255. }
  256. }
  257. /*FI*/}
  258. void rT133copy(T133 *C,T0 * a1){
  259. /*IF*//*AF*//*AE*/
  260. memcpy(C,a1,s[C->id]);
  261. /*FI*/}
  262. void rT133make(T133 *C,T0 * a1,T0 * a2,T0* a3){
  263. C->_clients=a1;
  264. C->_comment=a2;
  265. C->_list=a3;
  266. }
  267. void rT257pretty_print(T257 *C){
  268. int _i=0;
  269. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  270. /*)*//*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  271. rT259skip((T259*)oRBC27fmt,1);
  272. }
  273. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms487);
  274. /*IF*/if (((int)(C)->_header_comment)) {
  275. rT57pretty_print((T57*)(C)->_header_comment);
  276. }
  277. /*FI*//*IF*/if (((int)(C)->_list)) {
  278. _i=1;
  279. while (!((_i)>(((T156*)(C)->_list)->_upper))) {
  280. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  281. /*)*/rT259indent((T259*)oRBC27fmt);
  282. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  283. rT259skip((T259*)oRBC27fmt,1);
  284. }
  285. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(1);
  286. /*)*/rT62pretty_print((T62*)rT156item((T156*)(C)->_list,_i));
  287. _i=(_i)+(1);
  288. }
  289. }
  290. /*FI*/}
  291. void rT257copy(T257 *C,T0 * a1){
  292. /*IF*//*AF*//*AE*/
  293. memcpy(C,a1,s[C->id]);
  294. /*FI*/}
  295. void rT257make(T257 *C,T0 * a1,T0 * a2,T0* a3){
  296. C->_start_position=a1;
  297. C->_header_comment=a2;
  298. C->_list=a3;
  299. }
  300. void rT64bracketed_print(T64 *C){
  301. rT259put_character((T259*)oRBC27fmt,'\50');
  302. rT64pretty_print(C);
  303. rT259put_character((T259*)oRBC27fmt,'\51');
  304. }
  305. int rT64same_as(T64 *C,T0 * a1){
  306. int R=0;
  307. R=rT7is_equal((T7*)(C)->_to_key,XrT47to_key(a1));
  308. return R;
  309. }
  310. T0 * rT64add_comment(T64 *C,T0 * a1){
  311. T0 * R=NULL;
  312. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  313. R=(T0 *)C;
  314. }
  315. else {
  316. {T218 *n=((T218*)new(218));
  317. rT218make(n,(T0 *)C,a1);
  318. R=(T0 *)n;}}
  319. /*FI*/return R;
  320. }
  321. void rT64print_as_target(T64 *C){
  322. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  323. rT259put_character((T259*)oRBC27fmt,'\56');
  324. }
  325. void rT64pretty_print2(T64 *C){
  326. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  327. }
  328. void rT64pretty_print(T64 *C){
  329. rT259keyword((T259*)oRBC27fmt,(T0 *)ms494);
  330. rT259put_character((T259*)oRBC27fmt,'\42');
  331. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  332. rT259put_character((T259*)oRBC27fmt,'\42');
  333. }
  334. T0* rT64clone(T64 *C,T0* a1){
  335. T0* R=NULL;
  336. /*IF*/if (((int)a1)) {
  337. R=(T0 *)new(a1->id);
  338. AF_1
  339. XrT28copy(R,a1);
  340. AF_0
  341. }
  342. /*FI*/return R;
  343. }
  344. void rT64copy(T64 *C,T0 * a1){
  345. /*IF*//*AF*//*AE*/
  346. memcpy(C,a1,s[C->id]);
  347. /*FI*/}
  348. void rT64make(T64 *C,T0* a1,T0 * a2){
  349. C->_to_string=a1;
  350. C->_start_position=a2;
  351. C->_to_key=rT64clone(C,(C)->_to_string);
  352. rT7append((T7*)(C)->_to_key,(T0 *)ms83);
  353. }
  354. void rT46set_with(T46 *C,T0 * a1){
  355. C->_start_position=((T46*)a1)->_start_position;
  356. rT46set_to_string(C,((T46*)a1)->_to_string);
  357. }
  358. int rT46frozen_id(T46 *C){
  359. int R=0;
  360. /*IF*/if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms182)) {
  361. R=1;
  362. }
  363.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms192)) {
  364. R=2;
  365. }
  366.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms189)) {
  367. R=3;
  368. }
  369.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms194)) {
  370. R=4;
  371. }
  372.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms196)) {
  373. R=5;
  374. }
  375.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms187)) {
  376. R=6;
  377. }
  378.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms186)) {
  379. R=7;
  380. }
  381.  else if (((T0 *)(C)->_to_string)==((T0 *)(T0 *)ms184)) {
  382. R=8;
  383. }
  384. /*FI*/return R;
  385. }
  386. void rT46pretty_print(T46 *C){
  387. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  388. }
  389. T0* rT46clone(T46 *C,T0* a1){
  390. T0* R=NULL;
  391. /*IF*/if (((int)a1)) {
  392. R=(T0 *)new(a1->id);
  393. AF_1
  394. XrT28copy(R,a1);
  395. AF_0
  396. }
  397. /*FI*/return R;
  398. }
  399. T0* rT46to_key(T46 *C){
  400. T0* R=NULL;
  401. R=(C)->_to_string;
  402. return R;
  403. }
  404. T0*oRBC46special_names;
  405. int ofBC46names_memory=0;
  406. T0*oRBC46names_memory;
  407. T0* rT46names_memory(/*C*/void){
  408. T0* R=NULL;
  409. if (ofBC46names_memory==0){
  410. ofBC46names_memory=1;
  411. {T42 *n=((T42*)new(42));
  412. rT42make(n,1,256);
  413. R=(T0 *)n;}
  414. rT42copy((T42*)R,oRBC46special_names);
  415. oRBC46names_memory=R;}
  416. return oRBC46names_memory;}
  417. T0 * rT46base_class(T46 *C){
  418. T0 * R=NULL;
  419. R=rT50base_class((T50*)oRBC27small_eiffel,(T0 *)C);
  420. return R;
  421. }
  422. void rT46copy(T46 *C,T0 * a1){
  423. /*IF*//*AF*//*AE*/
  424. memcpy(C,a1,s[C->id]);
  425. /*FI*/}
  426. void rT46make_unknown(T46 *C){
  427. {T44 *n=((T44*)new(44));
  428. rT44with(n,1,1,(T0 *)C);
  429. C->_start_position=(T0 *)n;}
  430. C->_to_string=(T0 *)ms77;
  431. }
  432. void rT46make(T46 *C,T0* a1,T0 * a2){
  433. C->_start_position=a2;
  434. rT46set_to_string(C,a1);
  435. }
  436. void rT46set_to_string(T46 *C,T0* a1){
  437. T0* _mem=NULL;
  438. int _i=0;
  439. _mem=rT46names_memory();
  440. rT7copy((T7*)(T0 *)ms199,a1);
  441. rT7to_upper((T7*)(T0 *)ms199);
  442. _i=rT42index_of((T42*)_mem,(T0 *)ms199);
  443. /*IF*/if ((_i)<=(((T42*)_mem)->_upper)) {
  444. C->_to_string=rT42item((T42*)_mem,_i);
  445. }
  446. else {
  447. C->_to_string=rT46clone(C,(T0 *)ms199);
  448. rT42add_last((T42*)_mem,(C)->_to_string);
  449. }
  450. /*FI*/}
  451. void rT116set_undefine(T116 *C,T0* a1){
  452. {T126 *n=((T126*)new(126));
  453. rT126make(n,a1);
  454. C->_undefine_list=(T0 *)n;}
  455. }
  456. void rT116fatal_error(/*C*/T0* a1){
  457. rT43fatal_error((T43*)oRBC27eh,a1);
  458. }
  459. void rT116pretty_print(T116 *C){
  460. int _end_needed=0;
  461. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  462. /*)*/rT259indent((T259*)oRBC27fmt);
  463. XrT56pretty_print((C)->_type);
  464. /*IF*/if (((((!((C)->_rename_list))&&(!((C)->_export_list)))&&(!((C)->_undefine_list)))&&(!((C)->_redefine_list)))&&(!((C)->_select_list))) {
  465. rT259put_character((T259*)oRBC27fmt,'\73');
  466. }
  467. /*FI*//*IF*/if (((int)(C)->_comment)) {
  468. rT259put_character((T259*)oRBC27fmt,'\40');
  469. rT57pretty_print((T57*)(C)->_comment);
  470. }
  471. /*FI*//*IF*/if (((int)(C)->_rename_list)) {
  472. _end_needed=1;
  473. rT118pretty_print((T118*)(C)->_rename_list);
  474. }
  475. /*FI*//*IF*/if (((int)(C)->_export_list)) {
  476. _end_needed=1;
  477. rT120pretty_print((T120*)(C)->_export_list);
  478. }
  479. /*FI*//*IF*/if (((int)(C)->_undefine_list)) {
  480. _end_needed=1;
  481. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  482. /*)*/rT259indent((T259*)oRBC27fmt);
  483. rT259keyword((T259*)oRBC27fmt,(T0 *)ms481);
  484. rT126pretty_print((T126*)(C)->_undefine_list);
  485. }
  486. /*FI*//*IF*/if (((int)(C)->_redefine_list)) {
  487. _end_needed=1;
  488. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  489. /*)*/rT259indent((T259*)oRBC27fmt);
  490. rT259keyword((T259*)oRBC27fmt,(T0 *)ms482);
  491. rT126pretty_print((T126*)(C)->_redefine_list);
  492. }
  493. /*FI*//*IF*/if (((int)(C)->_select_list)) {
  494. _end_needed=1;
  495. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  496. /*)*/rT259indent((T259*)oRBC27fmt);
  497. rT259keyword((T259*)oRBC27fmt,(T0 *)ms483);
  498. rT126pretty_print((T126*)(C)->_select_list);
  499. }
  500. /*FI*//*IF*/if (_end_needed) {
  501. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  502. /*)*/rT259indent((T259*)oRBC27fmt);
  503. rT259keyword((T259*)oRBC27fmt,(T0 *)ms484);
  504. }
  505. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  506. /*)*/rT259indent((T259*)oRBC27fmt);
  507. }
  508. void rT116get_started(T116 *C,T0 * a1){
  509. int _all_check=0;
  510. T0 * _fn2=NULL;
  511. T0 * _fn=NULL;
  512. T0 * _pbc=NULL;
  513. T0 * _wbc=NULL;
  514. int _i=0;
  515. _all_check=rT258all_check((T258*)oRBC27eiffel_run_control);
  516. C->_parent_list=a1;
  517. _pbc=XrT56base_class((C)->_type);
  518. _wbc=((T129*)(C)->_parent_list)->_base_class;
  519. /*IF*/if ((_all_check)&&(((int)(C)->_rename_list))) {
  520. rT118get_started((T118*)(C)->_rename_list,_pbc);
  521. }
  522. /*FI*//*IF*/if ((_all_check)&&(((int)(C)->_undefine_list))) {
  523. _i=rT126count((T126*)(C)->_undefine_list);
  524. while (!((_i)==(0))) {
  525. _fn=rT126item((T126*)(C)->_undefine_list,_i);
  526. /*IF*/if (!(rT48has((T48*)_pbc,_fn))) {
  527. /*UT*/(T43*)oRBC27eh;
  528. rT43add_position(XrT65start_position(_fn));
  529. rT116fatal_error((T0 *)ms419);
  530. }
  531. /*FI*/_i=(_i)-(1);
  532. }
  533. }
  534. /*FI*//*IF*/if ((_all_check)&&(((int)(C)->_redefine_list))) {
  535. _i=rT126count((T126*)(C)->_redefine_list);
  536. while (!((_i)==(0))) {
  537. _fn=rT126item((T126*)(C)->_redefine_list,_i);
  538. /*IF*/if (!(rT48proper_has((T48*)_wbc,_fn))) {
  539. /*UT*/(T43*)oRBC27eh;
  540. rT43add_position(XrT65start_position(_fn));
  541. rT116fatal_error((T0 *)ms420);
  542. }
  543. /*FI*//*IF*/if (!(rT48has((T48*)_pbc,_fn))) {
  544. /*UT*/(T43*)oRBC27eh;
  545. rT43add_position(XrT65start_position(_fn));
  546. rT116fatal_error((T0 *)ms421);
  547. }
  548. /*FI*//*IF*/if (((int)(C)->_rename_list)) {
  549. _fn2=rT118to_new_name((T118*)(C)->_rename_list,_fn);
  550. /*IF*/if (((T0 *)_fn2)!=((T0 *)_fn)) {
  551. /*UT*/(T43*)oRBC27eh;
  552. rT43add_position(XrT65start_position(_fn));
  553. /*UT*/(T43*)oRBC27eh;
  554. rT43add_position(XrT65start_position(_fn2));
  555. rT116fatal_error((T0 *)ms422);
  556. }
  557. /*FI*/}
  558. /*FI*/_i=(_i)-(1);
  559. }
  560. }
  561. /*FI*/}
  562. T0*oRBC116forbidden_parent_list;
  563. void rT116add_rename(T116 *C,T0 * a1){
  564. /*IF*/if (!((C)->_rename_list)) {
  565. {T118 *n=((T118*)new(118));
  566. /*(IRF3*/((n)->_list)=(ma(119,0,1,a1));
  567. /*)*/C->_rename_list=(T0 *)n;}
  568. }
  569. else {
  570. rT118add_last((T118*)(C)->_rename_list,a1);
  571. }
  572. /*FI*/}
  573. void rT116copy(T116 *C,T0 * a1){
  574. /*IF*//*AF*//*AE*/
  575. memcpy(C,a1,s[C->id]);
  576. /*FI*/}
  577. int rT116has(T116 *C,T0 * a1){
  578. int R=0;
  579. R=rT48has((T48*)XrT56base_class((C)->_type),a1);
  580. return R;
  581. }
  582. void rT116set_redefine(T116 *C,T0* a1){
  583. {T126 *n=((T126*)new(126));
  584. rT126make(n,a1);
  585. C->_redefine_list=(T0 *)n;}
  586. }
  587. void rT116set_select(T116 *C,T0* a1){
  588. {T126 *n=((T126*)new(126));
  589. rT126make(n,a1);
  590. C->_select_list=(T0 *)n;}
  591. }
  592. void rT116make(T116 *C,T0 * a1){
  593. C->_type=a1;
  594. /*IF*/if (rT42fast_has((T42*)oRBC116forbidden_parent_list,XrT56written_mark((C)->_type))) {
  595. /*UT*/(T43*)oRBC27eh;
  596. rT43add_position(XrT56start_position((C)->_type));
  597. /*UT*/(T43*)oRBC27eh;
  598. rT43append((T0 *)ms224);
  599. /*UT*/(T43*)oRBC27eh;
  600. rT43append(XrT56written_mark((C)->_type));
  601. rT116fatal_error((T0 *)ms225);
  602. }
  603. /*FI*/}
  604. T0*oRBC27eiffel_run_control;
  605. void rT124warning(/*C*/T0 * a1,T0* a2){
  606. /*UT*/(T43*)oRBC27eh;
  607. rT43add_position(a1);
  608. rT43warning((T43*)oRBC27eh,a2);
  609. }
  610. void rT124pretty_print(T124 *C){
  611. int _i=0;
  612. _i=1;
  613. while (!((_i)>(((T123*)(C)->_list)->_upper))) {
  614. rT46pretty_print((T46*)rT123item((T123*)(C)->_list,_i));
  615. _i=(_i)+(1);
  616. /*IF*/if ((_i)<=(((T123*)(C)->_list)->_upper)) {
  617. rT259put_string((T259*)oRBC27fmt,(T0 *)ms478);
  618. }
  619. /*FI*/}
  620. }
  621. int rT124index_of(T124 *C,T0 * a1){
  622. int R=0;
  623. T0* _to_string=NULL;
  624. _to_string=XrT47to_string(a1);
  625. R=((T123*)(C)->_list)->_upper;
  626. while (!(((R)==(0))||(((T0 *)_to_string)==((T0 *)((T46*)rT123item((T123*)(C)->_list,R))->_to_string)))) {
  627. R=(R)-(1);
  628. }
  629. return R;
  630. }
  631. void rT124copy(T124 *C,T0 * a1){
  632. /*IF*//*AF*//*AE*/
  633. memcpy(C,a1,s[C->id]);
  634. /*FI*/}
  635. void rT124make(T124 *C,T0* a1){
  636. int _i2=0;
  637. int _i=0;
  638. C->_list=a1;
  639. _i=((T123*)(C)->_list)->_upper;
  640. while (!((_i)==(0))) {
  641. _i2=rT124index_of(C,rT123item((T123*)(C)->_list,_i));
  642. /*IF*/if ((_i2)!=(_i)) {
  643. /*UT*/(T43*)oRBC27eh;
  644. rT43add_position(((T46*)rT123item((T123*)(C)->_list,_i2))->_start_position);
  645. rT124warning(((T46*)rT123item((T123*)(C)->_list,_i))->_start_position,(T0 *)ms235);
  646. }
  647. /*FI*/_i=(_i)-(1);
  648. }
  649. }
  650. int rT129count(T129 *C){
  651. int R=0;
  652. R=((T128*)(C)->_list)->_upper;
  653. return R;
  654. }
  655. void rT129pretty_print(T129 *C){
  656. int _i=0;
  657. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  658. /*)*//*IF*/if (((T259*)oRBC27fmt)->_zen_mode) {
  659. rT259indent((T259*)oRBC27fmt);
  660. }
  661. else {
  662. rT259skip((T259*)oRBC27fmt,1);
  663. }
  664. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms470);
  665. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  666. /*)*/rT259indent((T259*)oRBC27fmt);
  667. /*IF*/if (((int)(C)->_heading_comment)) {
  668. rT57pretty_print((T57*)(C)->_heading_comment);
  669. }
  670. /*FI*/_i=1;
  671. while (!((_i)>(((T128*)(C)->_list)->_upper))) {
  672. rT116pretty_print((T116*)rT128item((T128*)(C)->_list,_i));
  673. _i=(_i)+(1);
  674. }
  675. }
  676. void rT129get_started(T129 *C){
  677. int _i=0;
  678. _i=1;
  679. while (!((_i)>(((T128*)(C)->_list)->_upper))) {
  680. rT116get_started((T116*)rT128item((T128*)(C)->_list,_i),(T0 *)C);
  681. _i=(_i)+(1);
  682. }
  683. }
  684. void rT129copy(T129 *C,T0 * a1){
  685. /*IF*//*AF*//*AE*/
  686. memcpy(C,a1,s[C->id]);
  687. /*FI*/}
  688. int rT129has(T129 *C,T0 * a1){
  689. int R=0;
  690. int _i=0;
  691. _i=1;
  692. while (!((R)||((_i)>(((T128*)(C)->_list)->_upper)))) {
  693. R=rT116has((T116*)rT128item((T128*)(C)->_list,_i),a1);
  694. _i=(_i)+(1);
  695. }
  696. return R;
  697. }
  698. void rT129make(T129 *C,T0 * a1,T0 * a2,T0 * a3,T0* a4){
  699. C->_base_class=a1;
  700. C->_heading_comment=a3;
  701. C->_start_position=a2;
  702. C->_list=a4;
  703. }
  704. T0 * rT246add_comment(T246 *C,T0 * a1){
  705. T0 * R=NULL;
  706. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  707. R=(T0 *)C;
  708. }
  709. /*AF*/else {
  710. {T214 *n=((T214*)new(214));
  711. rT214make(n,(T0 *)C,a1);
  712. R=(T0 *)n;}}
  713. /*FI*/return R;
  714. }
  715. void rT246pretty_print_assignment(/*C*/T0 * a1,T0* a2,T0 * a3){
  716. int _semi_colon_flag=0;
  717. XrT66pretty_print(a1);
  718. rT259put_character((T259*)oRBC27fmt,'\40');
  719. rT259put_string((T259*)oRBC27fmt,a2);
  720. rT259put_character((T259*)oRBC27fmt,'\40');
  721. _semi_colon_flag=((T259*)oRBC27fmt)->_semi_colon_flag;
  722. rT259level_incr((T259*)oRBC27fmt);
  723. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(0);
  724. /*)*/XrT66pretty_print(a3);
  725. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(_semi_colon_flag);
  726. /*)*//*IF*/if (_semi_colon_flag) {
  727. rT259put_character((T259*)oRBC27fmt,'\73');
  728. }
  729. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  730. }
  731. void rT246pretty_print(T246 *C){
  732. rT246pretty_print_assignment((C)->_left_side,(T0 *)ms562,(C)->_right_side);
  733. }
  734. void rT246copy(T246 *C,T0 * a1){
  735. /*IF*//*AF*//*AE*/
  736. memcpy(C,a1,s[C->id]);
  737. /*FI*/}
  738. void rT246make(T246 *C,T0 * a1,T0 * a2){
  739. C->_left_side=a1;
  740. C->_right_side=a2;
  741. }
  742. void rT95pretty_print(T95 *C){
  743. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  744. }
  745. T0* rT95to_key(T95 *C){
  746. T0* R=NULL;
  747. R=(C)->_to_string;
  748. return R;
  749. }
  750. void rT95copy(T95 *C,T0 * a1){
  751. /*IF*//*AF*//*AE*/
  752. memcpy(C,a1,s[C->id]);
  753. /*FI*/}
  754. void rT95make(T95 *C,T0* a1,T0 * a2){
  755. C->_to_string=a1;
  756. C->_start_position=a2;
  757. }
  758. void rT78bracketed_print(T78 *C){
  759. rT259put_character((T259*)oRBC27fmt,'\50');
  760. rT78pretty_print(C);
  761. rT259put_character((T259*)oRBC27fmt,'\51');
  762. }
  763. T0* rT78to_string(T78 *C){
  764. T0* R=NULL;
  765. R=rT2to_string((C)->_value);
  766. return R;
  767. }
  768. void rT78error(/*C*/T0 * a1,T0* a2){
  769. /*UT*/(T43*)oRBC27eh;
  770. rT43add_position(a1);
  771. rT43error((T43*)oRBC27eh,a2);
  772. }
  773. T0 * rT78add_comment(T78 *C,T0 * a1){
  774. T0 * R=NULL;
  775. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  776. R=(T0 *)C;
  777. }
  778. else {
  779. {T218 *n=((T218*)new(218));
  780. rT218make(n,(T0 *)C,a1);
  781. R=(T0 *)n;}}
  782. /*FI*/return R;
  783. }
  784. T0 * rT78_px45(T78 *C){
  785. T0 * R=NULL;
  786. {T78 *n=((T78*)new(78));
  787. rT78make(n,-((C)->_value),NULL);
  788. R=(T0 *)n;}
  789. return R;
  790. }
  791. void rT78print_as_target(T78 *C){
  792. rT78bracketed_print(C);
  793. rT259put_character((T259*)oRBC27fmt,'\56');
  794. }
  795. void rT78pretty_print(T78 *C){
  796. rT259put_string((T259*)oRBC27fmt,rT78to_string(C));
  797. }
  798. T0 * rT78to_real_constant(T78 *C){
  799. T0 * R=NULL;
  800. rT78error((C)->_start_position,(T0 *)ms274);
  801. return R;
  802. }
  803. void rT78copy(T78 *C,T0 * a1){
  804. /*IF*//*AF*//*AE*/
  805. memcpy(C,a1,s[C->id]);
  806. /*FI*/}
  807. void rT78make(T78 *C,int a1,T0 * a2){
  808. C->_value=a1;
  809. C->_start_position=a2;
  810. }
  811. T0 * rT72add_comment(T72 *C,T0 * a1){
  812. T0 * R=NULL;
  813. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  814. R=(T0 *)C;
  815. }
  816. else {
  817. {T218 *n=((T218*)new(218));
  818. rT218make(n,(T0 *)C,a1);
  819. R=(T0 *)n;}}
  820. /*FI*/return R;
  821. }
  822. void rT72copy(T72 *C,T0 * a1){
  823. /*IF*//*AF*//*AE*/
  824. memcpy(C,a1,s[C->id]);
  825. /*FI*/}
  826. int rT2min(T2 C,int a1){
  827. int R=0;
  828. /*IF*/if ((C)<(a1)) {
  829. R=C;
  830. }
  831. else {
  832. R=a1;
  833. }
  834. /*FI*/return R;
  835. }
  836. int rT2max(T2 C,int a1){
  837. int R=0;
  838. /*IF*/if ((a1)<(C)) {
  839. R=C;
  840. }
  841. else {
  842. R=a1;
  843. }
  844. /*FI*/return R;
  845. }
  846. T0* rT2to_string(T2 C){
  847. T0* R=NULL;
  848. {T7 *n=((T7*)new(7));
  849. rT7make(n,0);
  850. R=(T0 *)n;}
  851. rT2append_in(C,R);
  852. return R;
  853. }
  854. char rT2digit(T2 C){
  855. char R='\0';
  856. R=rT7item(ms43,(C)+(1));
  857. return R;
  858. }
  859. void rT2append_in(T2 C,T0* a1){
  860. int _i=0;
  861. int _val=0;
  862. /*IF*/if ((C)==(0)) {
  863. rT7extend((T7*)a1,'0');
  864. }
  865. else {
  866. /*IF*/if ((C)<(0)) {
  867. rT7extend((T7*)a1,'\55');
  868. rT2append_in(-(C),a1);
  869. }
  870. else {
  871. _i=(((T7*)a1)->_count)+(1);
  872. _val=C;
  873. while (!((_val)==(0))) {
  874. rT7extend((T7*)a1,rT2digit((_val)%(10)));
  875. _val=(_val)/(10);
  876. }
  877. _val=((T7*)a1)->_count;
  878. while (!((_i)>=(_val))) {
  879. rT7swap((T7*)a1,_i,_val);
  880. _val=(_val)-(1);
  881. _i=(_i)+(1);
  882. }
  883. }
  884. /*FI*/}
  885. /*FI*/}
  886. float rT2to_real(T2 C){
  887. float R=0;
  888. R=C;
  889. return R;
  890. }
  891. void rT80pretty_print(T80 *C){
  892. int _i=0;
  893. rT259put_string((T259*)oRBC27fmt,(T0 *)ms456);
  894. rT259level_incr((T259*)oRBC27fmt);
  895. rT259indent((T259*)oRBC27fmt);
  896. _i=1;
  897. while (!((_i)>(((T81*)(C)->_list)->_upper))) {
  898. rT63pretty_print((T63*)rT81item((T81*)(C)->_list,_i));
  899. _i=(_i)+(1);
  900. /*IF*/if ((_i)<=(((T81*)(C)->_list)->_upper)) {
  901. rT259put_string((T259*)oRBC27fmt,(T0 *)ms459);
  902. }
  903. /*FI*/}
  904. rT259put_character((T259*)oRBC27fmt,'\73');
  905. rT259level_decr((T259*)oRBC27fmt);
  906. rT259indent((T259*)oRBC27fmt);
  907. }
  908. void rT80copy(T80 *C,T0 * a1){
  909. /*IF*//*AF*//*AE*/
  910. memcpy(C,a1,s[C->id]);
  911. /*FI*/}
  912. void rT63pretty_print(T63 *C){
  913. int _i=0;
  914. /*IF*/if (((int)(C)->_index)) {
  915. rT259put_string((T259*)oRBC27fmt,(C)->_index);
  916. rT259put_string((T259*)oRBC27fmt,(T0 *)ms457);
  917. }
  918. /*FI*//*IF*/if (((int)(C)->_list)) {
  919. rT259level_incr((T259*)oRBC27fmt);
  920. _i=XrT79lower((C)->_list);
  921. while (!((_i)>(XrT79upper((C)->_list)))) {
  922. XrT66pretty_print(XrT79item((C)->_list,_i));
  923. _i=(_i)+(1);
  924. /*IF*/if ((_i)<=(XrT79upper((C)->_list))) {
  925. rT259put_string((T259*)oRBC27fmt,(T0 *)ms458);
  926. }
  927. /*FI*/}
  928. rT259level_decr((T259*)oRBC27fmt);
  929. }
  930. /*FI*/}
  931. void rT63add_index_value(T63 *C,T0 * a1){
  932. /*IF*/if (!((C)->_list)) {
  933. C->_list=ma(79,0,1,a1);
  934. }
  935. else {
  936. XrT79add_last((C)->_list,a1);
  937. }
  938. /*FI*/}
  939. void rT63copy(T63 *C,T0 * a1){
  940. /*IF*//*AF*//*AE*/
  941. memcpy(C,a1,s[C->id]);
  942. /*FI*/}
  943. T0 * rT249first_name(T249 *C){
  944. T0 * R=NULL;
  945. R=rT126item((T126*)(C)->_names,1);
  946. return R;
  947. }
  948. void rT249error(/*C*/T0 * a1,T0* a2){
  949. /*UT*/(T43*)oRBC27eh;
  950. rT43add_position(a1);
  951. rT43error((T43*)oRBC27eh,a2);
  952. }
  953. T0 * rT249start_position(T249 *C){
  954. T0 * R=NULL;
  955. R=XrT65start_position(rT249first_name(C));
  956. return R;
  957. }
  958. void rT249pretty_print_routine_body(T249 *C){
  959. /*IF*/if (((int)(C)->_local_vars)) {
  960. rT137pretty_print((T137*)(C)->_local_vars);
  961. }
  962. /*FI*/rT259indent((T259*)oRBC27fmt);
  963. /*(IRF3*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms533);
  964. /*)*/rT259put_character((T259*)oRBC27fmt,'\40');
  965. /*IF*/if (((int)(C)->_routine_body)) {
  966. rT138pretty_print((T138*)(C)->_routine_body);
  967. }
  968. /*FI*/}
  969. void rT249pretty_print_arguments(T249 *C){
  970. /*IF*/if (((int)(C)->_arguments)) {
  971. rT90pretty_print((T90*)(C)->_arguments);
  972. }
  973. /*FI*/}
  974. void rT249pretty_print_one_name(/*C*/T0 * a1){
  975. /*IF*/if (XrT65is_frozen(a1)) {
  976. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  977. }
  978. /*FI*/XrT65pretty_print(a1);
  979. }
  980. void rT249pretty_print_names(T249 *C){
  981. int _i=0;
  982. _i=1;
  983. rT249pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  984. _i=(_i)+(1);
  985. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  986. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  987. rT249pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  988. _i=(_i)+(1);
  989. }
  990. }
  991. void rT249pretty_print_profile(T249 *C){
  992. rT249pretty_print_names(C);
  993. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  994. /*)*/rT249pretty_print_arguments(C);
  995. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  996. /*)*//*IF*/if (((int)(C)->_result_type)) {
  997. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  998. XrT56pretty_print((C)->_result_type);
  999. }
  1000. /*FI*/}
  1001. void rT249pretty_print(T249 *C){
  1002. T0 * _fn=NULL;
  1003. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  1004. /*)*/rT259indent((T259*)oRBC27fmt);
  1005. rT249pretty_print_profile(C);
  1006. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  1007. /*IF*/if (((int)(C)->_obsolete_mark)) {
  1008. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1009. /*)*/rT259indent((T259*)oRBC27fmt);
  1010. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  1011. rT74pretty_print((T74*)(C)->_obsolete_mark);
  1012. }
  1013. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1014. /*)*/rT259indent((T259*)oRBC27fmt);
  1015. /*IF*/if (((int)(C)->_header_comment)) {
  1016. rT57pretty_print((T57*)(C)->_header_comment);
  1017. }
  1018. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  1019. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1020. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  1021. }
  1022. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1023. /*)*/rT259indent((T259*)oRBC27fmt);
  1024. rT249pretty_print_routine_body(C);
  1025. /*IF*/if (((int)(C)->_ensure_assertion)) {
  1026. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1027. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  1028. }
  1029. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  1030. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1031. /*)*/rT259indent((T259*)oRBC27fmt);
  1032. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  1033. rT138pretty_print((T138*)(C)->_rescue_compound);
  1034. }
  1035. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1036. /*)*/rT259indent((T259*)oRBC27fmt);
  1037. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  1038. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  1039. rT57pretty_print((T57*)(C)->_end_comment);
  1040. }
  1041.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  1042. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  1043. _fn=rT249first_name(C);
  1044. /*IF*/if (XrT65is_prefix_name(_fn)) {
  1045. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  1046. rT259put_character((T259*)oRBC27fmt,'\42');
  1047. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1048. rT259put_character((T259*)oRBC27fmt,'\42');
  1049. }
  1050.  else if (XrT65is_infix_name(_fn)) {
  1051. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  1052. rT259put_character((T259*)oRBC27fmt,'\42');
  1053. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1054. rT259put_character((T259*)oRBC27fmt,'\42');
  1055. }
  1056. else {
  1057. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1058. }
  1059. /*FI*/}
  1060. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  1061. }
  1062. void rT249add_into(T249 *C,T0 * a1){
  1063. T0 * _fn=NULL;
  1064. int _i=0;
  1065. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  1066. _i=1;
  1067. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  1068. _fn=rT126item((T126*)(C)->_names,_i);
  1069. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  1070. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  1071. /*UT*/(T43*)oRBC27eh;
  1072. rT43add_position(XrT65start_position(_fn));
  1073. /*UT*/(T43*)oRBC27eh;
  1074. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  1075. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  1076. /*UT*/(T43*)oRBC27eh;
  1077. rT43append(XrT65to_string(_fn));
  1078. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  1079. }
  1080. else {
  1081. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  1082. }
  1083. /*FI*/_i=(_i)+(1);
  1084. }
  1085. }
  1086. void rT249set_header_comment(T249 *C,T0 * a1){
  1087. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  1088. C->_end_comment=a1;
  1089. }
  1090. /*FI*/}
  1091. void rT249copy(T249 *C,T0 * a1){
  1092. /*IF*//*AF*//*AE*/
  1093. memcpy(C,a1,s[C->id]);
  1094. /*FI*/}
  1095. void rT249set_rescue_compound(T249 *C,T0 * a1){
  1096. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  1097. rT249error(rT249start_position(C),(T0 *)ms400);
  1098. }
  1099. /*FI*/C->_rescue_compound=a1;
  1100. }
  1101. void rT249make_e_feature(T249 *C,T0 * a1,T0 * a2){
  1102. C->_names=a1;
  1103. C->_result_type=a2;
  1104. }
  1105. void rT249make_routine(T249 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  1106. rT249make_e_feature(C,a1,NULL);
  1107. C->_header_comment=a4;
  1108. C->_arguments=a2;
  1109. C->_obsolete_mark=a3;
  1110. C->_require_assertion=a5;
  1111. }
  1112. void rT249make(T249 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
  1113. rT249make_routine(C,a1,a2,a3,a4,a5);
  1114. C->_local_vars=a6;
  1115. C->_routine_body=a7;
  1116. C->_use_current_state=1008;
  1117. }
  1118. T0* rT50find_path_for(T50 *C,T0* a1){
  1119. T0* R=NULL;
  1120. int _i=0;
  1121. rT7copy((T7*)(T0 *)ms48,a1);
  1122. rT7to_lower((T7*)(T0 *)ms48);
  1123. /*IF*/if (!(rT7has_suffix((T7*)(T0 *)ms48,(T0 *)ms49))) {
  1124. rT7append((T7*)(T0 *)ms48,(T0 *)ms49);
  1125. }
  1126. /*FI*//*IF*/if (rT50file_exists(C,(T0 *)ms48)) {
  1127. R=rT50clone(C,(T0 *)ms48);
  1128. }
  1129. else {
  1130. _i=((T42*)rT50loading_path(C))->_lower;
  1131. while (!(((_i)>(((T42*)rT50loading_path(C))->_upper))||(((int)R)))) {
  1132. rT7copy((T7*)(T0 *)ms56,rT42item((T42*)rT50loading_path(C),_i));
  1133. rT7append((T7*)(T0 *)ms56,(T0 *)ms48);
  1134. /*IF*/if (rT50file_exists(C,(T0 *)ms56)) {
  1135. R=rT50clone(C,(T0 *)ms56);
  1136. }
  1137. /*FI*/_i=(_i)+(1);
  1138. }
  1139. }
  1140. /*FI*//*IF*/if ((!(R))&&(rT55has((T55*)rT50rename_dictionary(C),(T0 *)ms48))) {
  1141. rT7copy((T7*)(T0 *)ms56,rT55at((T55*)rT50rename_dictionary(C),(T0 *)ms48));
  1142. /*IF*/if (rT50file_exists(C,(T0 *)ms56)) {
  1143. R=(T0 *)ms56;
  1144. }
  1145. else {
  1146. rT33put_string((T33*)oRBC1std_error,(T0 *)ms64);
  1147. rT33put_string((T33*)oRBC1std_error,(T0 *)ms56);
  1148. rT33put_string((T33*)oRBC1std_error,(T0 *)ms65);
  1149. rT50die_with_code(C,1);
  1150. }
  1151. /*FI*/}
  1152. /*FI*//*IF*/if (!(R)) {
  1153. rT33put_string((T33*)oRBC1std_error,(T0 *)ms66);
  1154. rT33put_string((T33*)oRBC1std_error,a1);
  1155. rT33put_string((T33*)oRBC1std_error,(T0 *)ms67);
  1156. /*(IRF3*/(((T7*)(T0 *)ms56)->_count)=(0);
  1157. /*)*/rT50append_loading_path_in(C,(T0 *)ms56);
  1158. rT33put_string((T33*)oRBC1std_error,(T0 *)ms56);
  1159. }
  1160. /*FI*/return R;
  1161. }
  1162. T0 * rT50get_class(/*C*/T0* a1){
  1163. T0 * R=NULL;
  1164. /*IF*/if (rT52has((T52*)oRBC50base_class_dictionary,a1)) {
  1165. R=rT52at((T52*)oRBC50base_class_dictionary,a1);
  1166. }
  1167. else {
  1168. rT46make((T46*)rT50tmp_class_name(),a1,NULL);
  1169. R=rT46base_class((T46*)rT50tmp_class_name());
  1170. }
  1171. /*FI*/return R;
  1172. }
  1173. int rT50is_used(/*C*/T0* a1){
  1174. int R=0;
  1175. R=rT52has((T52*)oRBC50base_class_dictionary,a1);
  1176. return R;
  1177. }
  1178. T0* rT50get_environment_variable(T50 *C,T0* a1){
  1179. T0* R=NULL;
  1180. rT7extend((T7*)a1,'\0');
  1181. R=((T0 *)getenv(((T7 *)a1)->_storage));
  1182. if (R) R=((T0 *)e2s((char *)R));
  1183. rT7remove_last((T7*)a1,1);
  1184. return R;
  1185. }
  1186. char rT50directory_separator(T50 *C){
  1187. char R='\0';
  1188. if (ofBC27directory_separator==0){
  1189. ofBC27directory_separator=1;
  1190. R=rT7last((T7*)rT50small_eiffel_directory(C));
  1191. oRBC27directory_separator=R;}
  1192. return oRBC27directory_separator;}
  1193. void rT50die_with_code(T50 *C,int a1){
  1194. exit(a1);
  1195. }
  1196. void rT50fatal_error(/*C*/T0* a1){
  1197. rT43fatal_error((T43*)oRBC27eh,a1);
  1198. }
  1199. int ofBC50loading_path=0;
  1200. T0*oRBC50loading_path;
  1201. T0* rT50loading_path(T50 *C){
  1202. T0* R=NULL;
  1203. T0 * _file=NULL;
  1204. T0* _defaults=NULL;
  1205. char _slash='\0';
  1206. int _i=0;
  1207. T0* _path=NULL;
  1208. if (ofBC50loading_path==0){
  1209. ofBC50loading_path=1;
  1210. _path=(T0 *)ms50;
  1211. {T42 *n=((T42*)new(42));
  1212. rT42make(n,1,10);
  1213. R=(T0 *)n;}
  1214. rT42clear((T42*)R);
  1215. _slash=rT50directory_separator(C);
  1216. /*IF*/if (rT50file_exists(C,_path)) {
  1217. {T39 *n=((T39*)new(39));
  1218. /*(IRF3*/((n)->_mode)=((T0 *)ms26);
  1219. /*)*/_file=(T0 *)n;}
  1220. rT50open_read(C,_file,_path);
  1221. while (!(rT39end_of_input((T39*)_file))) {
  1222. rT39read_line((T39*)_file);
  1223. _path=rT50clone(C,oRBC39last_string);
  1224. /*IF*/if (!(rT7empty((T7*)_path))) {
  1225. /*IF*/if ((rT7last((T7*)_path))!=(_slash)) {
  1226. rT7extend((T7*)_path,_slash);
  1227. }
  1228. /*FI*/rT42add_last((T42*)R,_path);
  1229. }
  1230. /*FI*/}
  1231. rT39disconnect((T39*)_file);
  1232. }
  1233. /*FI*/_defaults=ma(42,0,3,ms53,ms54,ms55);
  1234. _i=1;
  1235. while (!((_i)>(((T42*)_defaults)->_upper))) {
  1236. _path=rT42item((T42*)_defaults,_i);
  1237. rT7prepend((T7*)_path,rT50small_eiffel_directory(C));
  1238. rT7extend((T7*)_path,_slash);
  1239. rT42add_last((T42*)R,_path);
  1240. _i=(_i)+(1);
  1241. }
  1242. oRBC50loading_path=R;}
  1243. return oRBC50loading_path;}
  1244. void rT50incr_magic_count(T50 *C){
  1245. C->_magic_count=((C)->_magic_count)+(1);
  1246. }
  1247. void rT50add_class(T50 *C,T0 * a1){
  1248. rT52put((T52*)oRBC50base_class_dictionary,a1,((T46*)((T48*)a1)->_base_class_name)->_to_string);
  1249. rT50incr_magic_count(C);
  1250. }
  1251. int rT50re_load_class(T50 *C,T0 * a1){
  1252. int R=0;
  1253. T0 * _new_class=NULL;
  1254. T0* _name=NULL;
  1255. _name=((T46*)((T48*)a1)->_base_class_name)->_to_string;
  1256. rT52remove((T52*)oRBC50base_class_dictionary,_name);
  1257. _new_class=rT50load_class(C,_name);
  1258. R=((int)_new_class);
  1259. return R;
  1260. }
  1261. void rT50open_read(T50 *C,T0 * a1,T0* a2){
  1262. rT39connect_to((T39*)a1,a2);
  1263. /*IF*/if (!(rT39is_connected((T39*)a1))) {
  1264. rT33put_string((T33*)oRBC1std_error,(T0 *)ms51);
  1265. rT33put_string((T33*)oRBC1std_error,a2);
  1266. rT33put_string((T33*)oRBC1std_error,(T0 *)ms52);
  1267. rT50die_with_code(C,1);
  1268. }
  1269. /*FI*/}
  1270. T0* rT50clone(T50 *C,T0* a1){
  1271. T0* R=NULL;
  1272. /*IF*/if (((int)a1)) {
  1273. R=(T0 *)new(a1->id);
  1274. AF_1
  1275. XrT28copy(R,a1);
  1276. AF_0
  1277. }
  1278. /*FI*/return R;
  1279. }
  1280. int ofBC50tmp_class_name=0;
  1281. T0*oRBC50tmp_class_name;
  1282. T0 * rT50tmp_class_name(/*C*/void){
  1283. T0 * R=NULL;
  1284. if (ofBC50tmp_class_name==0){
  1285. ofBC50tmp_class_name=1;
  1286. {T46 *n=((T46*)new(46));
  1287. rT46make(n,(T0 *)ms181,NULL);
  1288. R=(T0 *)n;}
  1289. oRBC50tmp_class_name=R;}
  1290. return oRBC50tmp_class_name;}
  1291. int ofBC50rename_dictionary=0;
  1292. T0*oRBC50rename_dictionary;
  1293. T0 * rT50rename_dictionary(T50 *C){
  1294. T0 * R=NULL;
  1295. T0* _short_name=NULL;
  1296. T0* _full_name=NULL;
  1297. int _i=0;
  1298. if (ofBC50rename_dictionary==0){
  1299. ofBC50rename_dictionary=1;
  1300. {T55 *n=((T55*)new(55));
  1301. rT55make(n);
  1302. R=(T0 *)n;}
  1303. _i=1;
  1304. while (!((_i)>(((T42*)rT50loading_path(C))->_upper))) {
  1305. rT7copy((T7*)(T0 *)ms56,rT42item((T42*)rT50loading_path(C),_i));
  1306. rT7append((T7*)(T0 *)ms56,(T0 *)ms57);
  1307. /*IF*/if (rT50file_exists(C,(T0 *)ms56)) {
  1308. rT50open_read(C,rT50tmp_file_read(),(T0 *)ms56);
  1309. while (!(rT39end_of_input((T39*)rT50tmp_file_read()))) {
  1310. rT39read_word((T39*)rT50tmp_file_read());
  1311. _full_name=rT50clone(C,oRBC39last_string);
  1312. rT39read_word((T39*)rT50tmp_file_read());
  1313. _short_name=rT50clone(C,oRBC39last_string);
  1314. rT7prepend((T7*)_short_name,rT42item((T42*)rT50loading_path(C),_i));
  1315. /*IF*/if (rT55has((T55*)R,_full_name)) {
  1316. rT33put_string((T33*)oRBC1std_error,(T0 *)ms58);
  1317. rT33put_string((T33*)oRBC1std_error,_full_name);
  1318. rT33put_string((T33*)oRBC1std_error,(T0 *)ms59);
  1319. rT33put_string((T33*)oRBC1std_error,_short_name);
  1320. rT33put_string((T33*)oRBC1std_error,(T0 *)ms60);
  1321. rT33put_string((T33*)oRBC1std_error,rT55at((T55*)R,_full_name));
  1322. rT33put_string((T33*)oRBC1std_error,(T0 *)ms61);
  1323. rT50die_with_code(C,1);
  1324. }
  1325. /*FI*/rT55put((T55*)R,_short_name,_full_name);
  1326. rT39skip_separators((T39*)rT50tmp_file_read());
  1327. }
  1328. rT39disconnect((T39*)rT50tmp_file_read());
  1329. }
  1330. /*FI*/_i=(_i)+(1);
  1331. }
  1332. oRBC50rename_dictionary=R;}
  1333. return oRBC50rename_dictionary;}
  1334. void rT50append_loading_path_in(T50 *C,T0* a1){
  1335. T0* _sed=NULL;
  1336. int _i=0;
  1337. rT7append((T7*)a1,(T0 *)ms68);
  1338. _i=((T42*)rT50loading_path(C))->_lower;
  1339. while (!((_i)>(((T42*)rT50loading_path(C))->_upper))) {
  1340. rT7extend((T7*)a1,'\42');
  1341. rT7append((T7*)a1,rT42item((T42*)rT50loading_path(C),_i));
  1342. rT7extend((T7*)a1,'\42');
  1343. rT7extend((T7*)a1,'\12');
  1344. _i=(_i)+(1);
  1345. }
  1346. rT7append((T7*)a1,(T0 *)ms69);
  1347. rT7append((T7*)a1,(T0 *)ms14);
  1348. _sed=rT50get_environment_variable(C,(T0 *)ms14);
  1349. rT7append((T7*)a1,(T0 *)ms70);
  1350. /*IF*/if (!(_sed)) {
  1351. rT7append((T7*)a1,(T0 *)ms71);
  1352. }
  1353. else {
  1354. rT7append((T7*)a1,(T0 *)ms72);
  1355. rT7append((T7*)a1,_sed);
  1356. rT7append((T7*)a1,(T0 *)ms73);
  1357. }
  1358. /*FI*/rT7extend((T7*)a1,'\12');
  1359. }
  1360. int ofBC27tmp_file_read=0;
  1361. T0*oRBC27tmp_file_read;
  1362. T0 * rT50tmp_file_read(/*C*/void){
  1363. T0 * R=NULL;
  1364. if (ofBC27tmp_file_read==0){
  1365. ofBC27tmp_file_read=1;
  1366. {T39 *n=((T39*)new(39));
  1367. /*(IRF3*/((n)->_mode)=((T0 *)ms26);
  1368. /*)*/R=(T0 *)n;}
  1369. oRBC27tmp_file_read=R;}
  1370. return oRBC27tmp_file_read;}
  1371. T0* rT50small_eiffel_directory(T50 *C){
  1372. T0* R=NULL;
  1373. char _slash='\0';
  1374. int _i=0;
  1375. if (ofBC27small_eiffel_directory==0){
  1376. ofBC27small_eiffel_directory=1;
  1377. R=rT50get_environment_variable(C,(T0 *)ms14);
  1378. /*IF*/if (!(R)) {
  1379. R=rT50clone(C,(T0 *)ms14);
  1380. rT7to_upper((T7*)R);
  1381. R=rT50get_environment_variable(C,R);
  1382. /*IF*/if (((int)R)) {
  1383. rT7to_upper((T7*)(T0 *)ms14);
  1384. }
  1385. /*FI*/}
  1386. /*FI*//*IF*/if (!(R)) {
  1387. R=(T0 *)ms20;
  1388. }
  1389. /*FI*/_i=((T7*)R)->_count;
  1390. while (!((_i)<(0))) {
  1391. _slash=rT7item((T7*)R,_i);
  1392. /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) {
  1393. _i=(_i)-(1);
  1394. }
  1395. else {
  1396. _i=-(1);
  1397. }
  1398. /*FI*/}
  1399. /*IF*/if ((_i)==(0)) {
  1400. rT7extend((T7*)R,'\57');
  1401. }
  1402.  else if (!((rT7last((T7*)R))==(_slash))) {
  1403. rT7extend((T7*)R,_slash);
  1404. }
  1405. /*FI*/oRBC27small_eiffel_directory=R;}
  1406. return oRBC27small_eiffel_directory;}
  1407. T0 * rT50base_class(T50 *C,T0 * a1){
  1408. T0 * R=NULL;
  1409. T0* _path=NULL;
  1410. /*IF*/if (rT52has((T52*)oRBC50base_class_dictionary,((T46*)a1)->_to_string)) {
  1411. R=rT52at((T52*)oRBC50base_class_dictionary,((T46*)a1)->_to_string);
  1412. }
  1413.  else if (/*(IRF4*/((T49*)oRBC27eiffel_parser)->_is_running/*)*/) {
  1414. rT50fatal_error((T0 *)ms47);
  1415. }
  1416. else {
  1417. _path=rT50find_path_for(C,((T46*)a1)->_to_string);
  1418. /*IF*/if (((int)_path)) {
  1419. R=rT49analyse_class((T49*)oRBC27eiffel_parser,_path);
  1420. }
  1421. /*FI*//*IF*/if (!(R)) {
  1422. /*UT*/(T43*)oRBC27eh;
  1423. rT43add_position(((T46*)a1)->_start_position);
  1424. rT50fatal_error((T0 *)ms423);
  1425. }
  1426.  else if (!(rT52has((T52*)oRBC50base_class_dictionary,((T46*)a1)->_to_string))) {
  1427. /*UT*/(T43*)oRBC27eh;
  1428. rT43append((T0 *)ms424);
  1429. /*UT*/(T43*)oRBC27eh;
  1430. rT43append(_path);
  1431. /*UT*/(T43*)oRBC27eh;
  1432. rT43append((T0 *)ms425);
  1433. /*UT*/(T43*)oRBC27eh;
  1434. rT43append(((T46*)a1)->_to_string);
  1435. rT50fatal_error((T0 *)ms426);
  1436. }
  1437. /*FI*/}
  1438. /*FI*/return R;
  1439. }
  1440. T0*oRBC50base_class_dictionary;
  1441. void rT50copy(T50 *C,T0 * a1){
  1442. /*IF*//*AF*//*AE*/
  1443. memcpy(C,a1,s[C->id]);
  1444. /*FI*/}
  1445. int rT50next_id(T50 *C){
  1446. int R=0;
  1447. /*IF*/if (((C)->_last_id)==(0)) {
  1448. C->_last_id=25;
  1449. }
  1450. /*FI*/C->_last_id=((C)->_last_id)+(1);
  1451. R=(C)->_last_id;
  1452. return R;
  1453. }
  1454. int rT50next_unique(T50 *C){
  1455. int R=0;
  1456. /*IF*/if (((C)->_last_unique)<(1000)) {
  1457. C->_last_unique=1000;
  1458. }
  1459. /*FI*/C->_last_unique=((C)->_last_unique)+(1);
  1460. R=(C)->_last_unique;
  1461. return R;
  1462. }
  1463. T0 * rT50load_class(T50 *C,T0* a1){
  1464. T0 * R=NULL;
  1465. T0* _path=NULL;
  1466. _path=rT50find_path_for(C,a1);
  1467. /*IF*/if (!(_path)) {
  1468. rT50fatal_error((T0 *)ms443);
  1469. }
  1470. else {
  1471. R=rT49analyse_class((T49*)oRBC27eiffel_parser,_path);
  1472. /*IF*/if (!(R)) {
  1473. rT50fatal_error((T0 *)ms444);
  1474. }
  1475. /*FI*/}
  1476. /*FI*/return R;
  1477. }
  1478. int rT50file_exists(T50 *C,T0* a1){
  1479. int R=0;
  1480. rT7extend((T7*)a1,'\0');
  1481. {FILE *f=fopen(((T7 *)a1)->_storage,"r");
  1482. R=(f != NULL);
  1483. fclose(f);}
  1484. rT7remove_last((T7*)a1,1);
  1485. return R;
  1486. }
  1487. int rT48proper_has(T48 *C,T0 * a1){
  1488. int R=0;
  1489. R=rT59has((T59*)(C)->_feature_dictionary,XrT65to_key(a1));
  1490. return R;
  1491. }
  1492. int rT48is_generic(T48 *C){
  1493. int R=0;
  1494. R=((int)(C)->_formal_generic_list);
  1495. return R;
  1496. }
  1497. int rT48is_general(T48 *C){
  1498. int R=0;
  1499. R=((T0 *)(T0 *)ms182)==((T0 *)((T46*)(C)->_base_class_name)->_to_string);
  1500. return R;
  1501. }
  1502. void rT48error(/*C*/T0 * a1,T0* a2){
  1503. /*UT*/(T43*)oRBC27eh;
  1504. rT43add_position(a1);
  1505. rT43error((T43*)oRBC27eh,a2);
  1506. }
  1507. void rT48error1(T48 *C){
  1508. rT48error(((T46*)(C)->_base_class_name)->_start_position,(T0 *)ms176);
  1509. }
  1510. void rT48add_creation_clause(T48 *C,T0 * a1){
  1511. /*IF*/if (!((C)->_creation_clause_list)) {
  1512. {T131 *n=((T131*)new(131));
  1513. /*(IRF3*/((n)->_list)=(ma(132,0,1,a1));
  1514. /*)*/C->_creation_clause_list=(T0 *)n;}
  1515. }
  1516. else {
  1517. rT131add_last((T131*)(C)->_creation_clause_list,a1);
  1518. }
  1519. /*FI*/}
  1520. void rT48add_feature_clause(T48 *C,T0 * a1){
  1521. /*IF*/if (!((C)->_feature_clause_list)) {
  1522. {T255 *n=((T255*)new(255));
  1523. /*(IRF3*/((n)->_list)=(ma(256,0,1,a1));
  1524. /*)*/C->_feature_clause_list=(T0 *)n;}
  1525. }
  1526. else {
  1527. rT255add_last((T255*)(C)->_feature_clause_list,a1);
  1528. }
  1529. /*FI*/}
  1530. void rT48pretty_print(T48 *C){
  1531. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  1532. /*)*//*IF*/if (((int)(C)->_index_list)) {
  1533. rT80pretty_print((T80*)(C)->_index_list);
  1534. rT259indent((T259*)oRBC27fmt);
  1535. }
  1536. /*FI*//*IF*/if (((int)(C)->_heading_comment1)) {
  1537. rT57pretty_print((T57*)(C)->_heading_comment1);
  1538. rT259indent((T259*)oRBC27fmt);
  1539. }
  1540. /*FI*//*IF*/if ((C)->_is_deferred) {
  1541. rT259keyword((T259*)oRBC27fmt,(T0 *)ms461);
  1542. }
  1543.  else if ((C)->_is_expanded) {
  1544. rT259keyword((T259*)oRBC27fmt,(T0 *)ms121);
  1545. }
  1546. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms462);
  1547. rT46pretty_print((T46*)(C)->_base_class_name);
  1548. /*IF*/if (rT48is_generic(C)) {
  1549. rT83pretty_print((T83*)(C)->_formal_generic_list);
  1550. }
  1551. /*FI*/rT259indent((T259*)oRBC27fmt);
  1552. /*IF*/if (((int)(C)->_obsolete_type_string)) {
  1553. rT259keyword((T259*)oRBC27fmt,(T0 *)ms465);
  1554. rT74pretty_print((T74*)(C)->_obsolete_type_string);
  1555. }
  1556. /*FI*/rT259indent((T259*)oRBC27fmt);
  1557. /*IF*/if (((int)(C)->_heading_comment2)) {
  1558. rT57pretty_print((T57*)(C)->_heading_comment2);
  1559. }
  1560. /*FI*//*IF*/if (((int)(C)->_parent_list)) {
  1561. rT129pretty_print((T129*)(C)->_parent_list);
  1562. }
  1563. /*FI*//*IF*/if (((int)(C)->_creation_clause_list)) {
  1564. rT131pretty_print((T131*)(C)->_creation_clause_list);
  1565. }
  1566. /*FI*//*IF*/if (((int)(C)->_feature_clause_list)) {
  1567. rT255pretty_print((T255*)(C)->_feature_clause_list);
  1568. }
  1569. /*FI*//*IF*/if (((int)(C)->_invariant_assertion)) {
  1570. rT257pretty_print((T257*)(C)->_invariant_assertion);
  1571. }
  1572. /*FI*//*IF*/if (((int)(C)->_end_comment)) {
  1573. rT57pretty_print((T57*)(C)->_end_comment);
  1574. }
  1575. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(0);
  1576. /*)*//*IF*/if (((T259*)oRBC27fmt)->_zen_mode) {
  1577. rT259skip((T259*)oRBC27fmt,0);
  1578. }
  1579. else {
  1580. rT259skip((T259*)oRBC27fmt,1);
  1581. }
  1582. /*FI*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms490);
  1583. /*IF*/if (!(((T259*)oRBC27fmt)->_zen_mode)) {
  1584. rT259put_string((T259*)oRBC27fmt,(T0 *)ms491);
  1585. rT259put_string((T259*)oRBC27fmt,((T46*)(C)->_base_class_name)->_to_string);
  1586. }
  1587. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  1588. }
  1589. int rT48super_has(T48 *C,T0 * a1){
  1590. int R=0;
  1591. /*IF*/if ((!((C)->_parent_list))||((rT129count((T129*)(C)->_parent_list))==(0))) {
  1592. /*IF*/if (rT48is_general(C)) {
  1593. R=0;
  1594. }
  1595. else {
  1596. R=rT48has((T48*)/*(IRF4*/rT48class_with((T0 *)ms181)/*)*/,a1);
  1597. }
  1598. /*FI*/}
  1599. else {
  1600. R=rT129has((T129*)(C)->_parent_list,a1);
  1601. }
  1602. /*FI*/return R;
  1603. }
  1604. void rT48add_index_clause(T48 *C,T0 * a1){
  1605. /*IF*/if (!((C)->_index_list)) {
  1606. {T80 *n=((T80*)new(80));
  1607. /*(IRF3*/((n)->_list)=(ma(81,0,1,a1));
  1608. /*)*/C->_index_list=(T0 *)n;}
  1609. }
  1610. else {
  1611. rT81add_last((T81*)((T80*)(C)->_index_list)->_list,a1);
  1612. }
  1613. /*FI*/}
  1614. void rT48get_started(T48 *C){
  1615. T0* _s1=NULL;
  1616. C->_id=rT46frozen_id((T46*)(C)->_base_class_name);
  1617. /*IF*/if (((C)->_id)==(0)) {
  1618. C->_id=rT50next_id((T50*)oRBC27small_eiffel);
  1619. }
  1620. /*FI*//*IF*/if (((int)(C)->_feature_clause_list)) {
  1621. rT255get_started((T255*)(C)->_feature_clause_list,(C)->_feature_dictionary);
  1622. }
  1623. /*FI*//*IF*/if (((int)(C)->_parent_list)) {
  1624. rT129get_started((T129*)(C)->_parent_list);
  1625. }
  1626. /*FI*/}
  1627.